<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      header {
        width: 375px;
        height: 50px;
        background: red;
        color: #fff;
        text-align: center;
        line-height: 50px;
        font-size: 24px;
      }
    </style>
  </head>
  <body>
    <!-- 每一个组件之间的数据和方法等等都是不共用的 -->

    <!-- 
      父传子
        1. 在父组件的子组件标签上面添加自定义属性,将要传递的数据当作属性值传入
        2. 在子组件里面使用props选项进行接受
     -->

    <!-- 当一个组件多次调用的时候，出现了不同的内容，那么那个不同的内容就需要用父传子的方式传进来 -->
    <div id="app">
      <h2>组件传参-父传子 - {{name}}</h2>
      <child :name="name"></child>

      <hr />

      <!-- <my-header title="猫眼电影"></my-header>
      <br />
      <my-header title="满江红"></my-header> -->

      <my-header
        v-for="(item, index) in list"
        :key="index"
        :title="item"
      ></my-header>
    </div>

    <script src="./lib/Vue3.js"></script>
    <script>
      const { createApp } = Vue;

      const Child = {
        props: ["name"],
        data() {
          return {
            count: 10,
          };
        },
        template: `
          <div>这是子组件 - {{count}} - {{name}}</div>
        `,
      };

      const MyHeader = {
        props: ["title"],
        template: `
          <header>{{ title }}</header>
        `,
      };

      createApp({
        data() {
          return {
            name: "zhangsan",
            list: ["猫眼电影", "满江红"],
          };
        },
        components: {
          Child,
          MyHeader,
        },
      }).mount("#app");
    </script>
  </body>
</html>
